iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
0
Modern Web

[Vue] 使用 Quasar 輕鬆打造 Material 及 iOS 風格的響應式網站系列 第 3

[Day 3] Vue Quasar Framework 淺述設定檔 quasar.conf.js

  • 分享至 

  • xImage
  •  

今天就來徹底分析Quasar的設定檔quasar.conf.js

為了方便瀏覽,我們把它拆成各個區塊來講講

不多說就直接開始吧

    plugins: [
    ],
    css: [
      'app.styl'
    ],
  • plugins

    以前在Vue安裝其他的plugin 會在 main.js 裡面引入

    而在Quasar的話就會放在這邊

    但是這邊的設定比較複雜一點,我會再開一篇來講解

  • css

    CSS的引入都會放在這邊,預設拉的位置是 /src/css

    之後在這邊設好,就不用煩惱要在哪裡引入外部的CSS了

	extras: [
      ctx.theme.mat ? 'roboto-font' : null,
      'material-icons' // optional, you are not bound to it
      // 'ionicons',
      // 'mdi',
      // 'fontawesome'
    ],
  • extra 這邊是設定是否引入 quasar-extras 的東西,不過只能用它提供的package

    目前版本能用的東西如下

Package name 說明
Roboto Font roboto-font Material主題的建議字型
Roboto Font Latin Extended roboto-font-latin-ext Material主題的建議字型
Material Icons material-icons Material風格的icon
MDI (Material Design Icons) mdi Material風格的icon之擴展
Font Awesome fontawesome 超多icon給你挑 *有些太新的icon還沒收錄進quasar中的就顯示不出來
Ionicons ionicons ionicons 的 icon
Animate.css animations 超炫的網頁元件動畫

   build: {
      scopeHoisting: true,
      // vueRouterMode: 'history', 
      // vueCompiler: true,
      // gzip: true,
      // analyze: true,
      // extractCSS: false,
      extendWebpack (cfg) {
      }
    },

這邊有點複雜,平常也不會用到這邊的功能。

所以先初步介紹預設值就好。

進階一點的操作請先參照 官方原文

  • scopeHoisting

    預設 true,用來提升webpack運行時的效能

  • vueRouterMode

    設定你Vue router的模式,有history hash 兩種值

    詳細參照 Vue Router

  • vueCompiler

    包含兩種Vue的編譯模式 vue runtime + compiler ,預設只有 runtime-only(運行時編譯)

  • gzip

    使網站支援gzip的格式

  • analyze

    在你build時會運行 webpack-bundle-analyzer 工具

    然後會長這樣~~https://ithelp.ithome.com.tw/upload/images/20181017/20111805z6Qs0mgwUv.png)

    這個也很複雜。 要深入了解請參照 Webpack Bundle Analyzer

  • extractCSS

    提取CSS到文件中,詳情 VueLoader的說明

  • extendWebpack

    如果有要載入其他的webpack就放在這裡


    devServer: {
      // https: true,
      // port: 8080,
      open: true // opens browser window automatically
    },

這邊主要在設定在dev模式中伺服器的設定

  • https

    是不是要設成https的形式

    小提醒:這邊只有在dev時有用,之後輸出成網頁還是要依靠機器上的伺服器設定

  • port

    設定成你指定的port,不過quasar在運行dev模式時,遇到相同的port時他會自己再+1

  • open

    是否在dev指令執行完後,自動幫你開此網站的分頁在瀏覽器上


framework: {
      components: [
        'QLayout',
        'QLayoutHeader',
        'QLayoutDrawer',
        'QPageContainer',
        'QPage',
        'QToolbar',
        'QToolbarTitle',
        'QBtn',
        'QIcon',
        'QList',
        'QListHeader',
        'QItem',
        'QItemMain',
        'QItemSide'
      ],
      directives: [
        'Ripple'
      ],
      // Quasar plugins
      plugins: [
        'Notify'
      ]
      // iconSet: ctx.theme.mat ? 'material-icons' : 'ionicons'
      // i18n: 'de' // Quasar language
    },

這裡都是放quasar所提供的元件,

在這邊設好就不用像其他framework一樣每頁都要引入元件囉

官方的元件庫文件中會引導你要將引入的元件名填入對應的欄位中


animations: [],

用來引入一些 CSS Transitions 的動畫元件


剩下的ssr,pwa都是之後等網站快完成時會附加的功能

平時不太會去修改到這邊的值

細節就麻煩移駕到官網囉

Developing SSR

Developing PWA


看了這麼多設定的東西,是不是有點眼花撩亂呢

沒關係,這邊不改設定也都能玩得好好的XD

那麼

明天就開始來做第一個網站吧~


上一篇
[Day 2] Vue Quasar Framework 環境佈署
下一篇
[Day 4] Vue Quasar Framework 頁面Layout介紹
系列文
[Vue] 使用 Quasar 輕鬆打造 Material 及 iOS 風格的響應式網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言